package com.xjj.servicejob.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.xjj.entity.Job;
import com.xjj.entity.JobSubmit;
import com.xjj.entity.PageBean;
import com.xjj.servicejob.vo.JobSubmitCheckVo;
import com.xjj.servicejob.vo.JobVo;

/**
 * @author sjy
 * @create 2022-10-20 19:28
 * 学生提交作业业务层
 */

public interface JobSubmitService extends IService<JobSubmit> {
    /**
     * 学生提交作业
     * @param jobSubmit
     */
    void add(JobSubmit jobSubmit);

    /**
     * 学生修改作业
     * @param jobSubmit
     */
    void updateJobSubmitById(JobSubmit jobSubmit);

    /**
     * 根据id删除提交的作业
     * @param id
     */
    void deleteById(Integer id);

    /**
     * 根据id查询提交的作业
     * @param id
     * @return
     */
    JobSubmit getById(Integer id);

    /**
     * 根据作业id和学生id查询提交的作业
     * @param studentId
     * @param jobId
     * @return
     */
    JobSubmit getByStudentIdAndJobId(Integer studentId,Integer jobId);

    /**
     * 批改作业
     * @param jobSubmit
     */
    void correctJob(JobSubmit jobSubmit);

    /**
     * 根据作业id查询所有提前作业
     * @param jobSubmitCheckVo
     * @return
     */
    PageBean<JobSubmit> getAllSubmittedJobSubmit(JobSubmitCheckVo jobSubmitCheckVo,Integer pageSize);

    PageBean<Job> getByPage(JobVo jobVo, Integer pageSize);
}
